f26ffd772d28049814b6263ce6a7612403c776e9,src/main/java/io/hgraphdb/HBaseGraph.java,HBaseGraph,validateEdge,#String#Object#Map#Vertex#Vertex#,633

Before Change


    public void validateEdge(String label, Object id, Map<String, Object> properties, Vertex inVertex, Vertex outVertex) {
        if (!configuration().getUseSchema() || label == null || inVertex == null || outVertex == null) return;
        LabelMetadata inVertexLabelMetadata = labels.get(new LabelMetadata.Key(ElementType.VERTEX, inVertex.label()));
        LabelMetadata outVertexLabelMetadata = labels.get(new LabelMetadata.Key(ElementType.VERTEX, outVertex.label()));
        if (inVertexLabelMetadata == null) {
            throw new HBaseGraphNotValidException("Vertex label '" + inVertex.label() + "' has not been defined");
        }
        if (outVertexLabelMetadata == null) {
            throw new HBaseGraphNotValidException("Vertex label '" + outVertex.label() + "' has not been defined");
        }
        LabelMetadata labelMetadata = labels.get(new LabelMetadata.Key(ElementType.EDGE, label));

After Change


        if (!configuration().getUseSchema() || label == null || inVertex == null || outVertex == null) return;
        LabelMetadata inVertexLabelMetadata = validateLabel(ElementType.VERTEX, inVertex.label());
        LabelMetadata labelMetadata = validateLabel(ElementType.EDGE, label);
        LabelMetadata outVertexLabelMetadata = validateLabel(ElementType.VERTEX, outVertex.label());
        LabelConnection labelConnection = new LabelConnection(outVertex.label(), label, inVertex.label(), null);
        if (!labelConnections.contains(labelConnection)) {
            throw new HBaseGraphNotValidException("Edge label '" + label + "' has not been connected with inVertex '" + inVertex.label()